package com.seo.mapper.bill;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.MapKey;

public interface BillMapper {

	/**
	 * 余额明细
	 * @param param  param
	 * @return List<Map<String, Object>>
	 * @author rtc
	 * @version 2018.07.28 12:20
	 */
	List<Map<String, Object>> getBalanceList(Map<String, Object> param);

	/**
	 * 关键词扣费记录
	 * @param param  param
	 * @return List<Map<String, Object>>
	 * @author rtc
	 * @version 2018.07.28 12:20
	 */
	List<Map<String, Object>> getKeyWordDeducList(Map<String, Object> param);
	
	/**
	 * 余额日报表
	 * @param param 参数
	 * @return 日报表
	 */
	@MapKey("balanceDate")
	Map<String, Map<String, Object>> getReportBalanceDay(Map<String, Object> param);
	
	/**
	 * 扣费明细
	 * @param param 参数
	 * @return
	 */
	@MapKey("balanceDate")
	Map<String, Map<String, Object>> getReportDeducDay(Map<String, Object> param);
	
	/**
	 * 消费统计
	 * @param param
	 * @return
	 */
	BigDecimal getReportDeducSum(Map<String, Object> param);
	
	/**
	 * 新站消费统计
	 * @param param
	 * @return
	 */
	BigDecimal getReportNewDeducSum(Map<String, Object> param);
	
	/**
	 * 预计消费
	 * @param param
	 * @return
	 */
	BigDecimal getReportExpectConsumeSum(Map<String, Object> param);
	
	/**
	 * 新站预计消费
	 * @param param
	 * @return
	 */
	BigDecimal getReportNewExpectConsumeSum(Map<String, Object> param);
	
	/**
	 * 优化引擎统计
	 * @param param
	 * @return
	 */
	@MapKey("engineCode")
	Map<String, Map<String, Object>> getEngineStatistics(Map<String, Object> param);
	
	/**
	 * 新站引擎统计
	 * @param param
	 * @return
	 */
	@MapKey("engineCode")
	Map<String, Map<String, Object>> getNewEngineStatistics(Map<String, Object> param);
	
	List<Map<String, Object>> getEngineList();

	/**
	 * 新站关键词扣费记录
	 * @param param  param
	 * @return List<Map<String, Object>>
	 * @author rtc
	 * @version 2018.07.28 12:20
	 */
	List<Map<String, Object>> getNewKeyWordDeducList(Map<String, Object> param);

}
